package com.cardone.platform.authority.dto;

import java.util.List;

import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import org.springframework.data.annotation.Transient;

import com.cardone.platform.authority.po.Navigation;

/**
 * 导航
 *
 * @author yaohaitao
 *
 */
@Getter
@Setter
@Accessors(chain = true)
public class NavigationDto extends Navigation {
	/**
	 * 导航
	 *
	 * @author yaohaitao
	 *
	 */
	public enum Attributes {

		/**
		 * 数据选项
		 */
		dataOption,

		/**
		 * 图标样式
		 */
		iconStyle,

		/**
		 * 目标
		 */
		target,

		/**
		 * URL
		 */
		url,
	}

	/**
	 * 版本号
	 */
	@Transient
	private static final long serialVersionUID = 393938505069744466L;

	/**
	 * 导航
	 *
	 * @return 导航
	 */
	public static NavigationDto newNavigation() {
		return new NavigationDto();
	}

	/**
	 * 主动
	 */
	@Transient
	private boolean active;

	/**
	 * 子集
	 */
	@Transient
	private List<NavigationDto> childs;

	/**
	 * 子集总数
	 */
	@Transient
	private int childTotal;

	/**
	 * 链接
	 */
	@Transient
	private String href;

	/**
	 * 是否许可
	 */
	private boolean isPermission = true;

	/**
	 * 父级代码
	 */
	@Transient
	private String parentCode;

	/**
	 * 父级名称
	 */
	@Transient
	private String parentName;

	/**
	 * 父级导航
	 */
	@Transient
	private NavigationDto parentNavigation;

	/**
	 * 站代码
	 */
	@Transient
	private String siteCode;

	/**
	 * 站名称
	 */
	@Transient
	private String siteName;

	/**
	 * 树代码
	 */
	@Transient
	private String treeCode;

	/**
	 * 树类别代码
	 */
	@Transient
	private String treeTypeCode;

	/**
	 * 类别代码
	 */
	@Transient
	private String typeCode;

	/**
	 * 类别名称
	 */
	@Transient
	private String typeName;

	/**
	 * 字典类别.类别代码
	 */
	@Transient
	private String typeTypeCode;
}